package com.krisyu.decoratorPattern.template;

/**
 * @DATE 2022/1/7
 * @Author KrisYu
 * @Description 抽象装饰类，以统一的Component为参数类型，在这里可以添加装饰类的一些基本抽象方法
 */
public abstract class AbstractDecorator extends Component{
    private Component component = null;

    /**
     * 关键代码
     */
    public AbstractDecorator(Component _component){
        this.component = _component;
    }

    /**
     * 关键代码： 通过装饰类 来代理实现 operation方法
     */
    @Override
    public void operation() {
        this.component.operation();
    }
}
